package com.zcxy.fast.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zcxy.fast.bean.PageQuery;
import com.zcxy.fast.entity.SysMenu;
import com.zcxy.fast.pojo.VueRouter;
import com.zcxy.fast.vo.SysMenuVo;
import java.util.*;
import com.zcxy.fast.bean.TreeNode;

/**
 *  平台-菜单表 Service接口
 *
 * @author zcc
 * @email  860474958@qq.com
 * @date   2021-02-02 08:48:57
 */
public interface ISysMenuService extends IService<SysMenu> {
    /**
     * 平台-菜单表：分页查询
     * PageQuery<T>
     * @return IPage < SysMenuVo>
     */
    IPage<SysMenuVo> queryPageList(PageQuery<SysMenu> queryVo);

    /**
     * 平台-菜单表：复杂列表查询
     * <p>
     * SysMenu
     *
     * @return List<SysMenuVo>
     */
    List<SysMenuVo> queryList(SysMenu sysMenu);

    /**
     * 平台-菜单表：新增
     * <p>
     * SysMenu
     *
     * @return void
     */
    void addSysMenu(SysMenu sysMenu);

    /**
     * 平台-菜单表:更新
     * <p>
     * SysMenu
     *
     * @return void
     */
    void updateSysMenu(SysMenu sysMenu);

    /**
     * 平台-菜单表:删除
     *
     * @return void
     */
    void removeAllSysMenu(List<String> ids);

    List<Map>  queryTreeNodeList(String id);


    List<TreeNode> queryTreeNodeList();


    List<VueRouter<SysMenu>> queryUserMenu();
}
